package com.huitu.whht.api.core.common.util;

/**
 * 说明:
 *
 * @author ZhangAY
 * @date 2018-07-18
 */
public enum TmType {
    /**
     * 无时间类型
     */
    EMPTY(0, "", ""),
    /**
     * yyyy-MM-dd
     */
    YMD(1, "yyyy-MM-dd", "YYYY-MM-DD"),
    /**
     * yyyy-MM
     */
    YM(2, "yyyy-MM", "YYYY-MM"),
    /**
     * yyyy
     */
    Y(5, "YYYY", "yyyy"),
    YMDH(6, "yyyy-MM-dd HH", "YYYY-MM-DD HH24"),
    YMDHM(7, "yyyy-MM-dd HH:mm", "YYYY-MM-DD HH24:MI"),
    YMDHMS(8, "yyyy-MM-dd HH:mm:ss", "YYYY-MM-DD HH24:MI:SS");
    private Integer type;

    /**
     * oracle中的时间格式字符串
     */
    private String orclTmType;

    /**
     * java中的时间格式字符串
     */
    private String javaTmType;

    TmType(Integer type, String javaDtType, String orclTmType) {
        this.type = type;
        this.orclTmType = orclTmType;
        this.javaTmType = javaDtType;
    }

    public static TmType get(Integer tmType) {
        for (TmType typeEnum : TmType.values()) {
            if (typeEnum.type.compareTo(tmType) == 0) {
                return typeEnum;
            }
        }
        return EMPTY;
    }

    public static TmType get(Integer tmType, TmType deft) {
        for (TmType typeEnum : TmType.values()) {
            if (typeEnum.type.compareTo(tmType) == 0) {
                return typeEnum;
            }
        }
        return deft;
    }

    public Integer getType() {
        return type;
    }

    /**
     * oracle中的时间格式字符串
     * @return oracle中的时间格式字符串
     */
    public String getOrclTmType() {
        return orclTmType;
    }

    /**
     * java中的时间格式字符串
     * @return java中的时间格式字符串
     */
    public String getJavaTmType() {
        return javaTmType;
    }
}
